home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk66 / qrt15 / docs / addend13.doc < prev    next >
Text File  |  1995-03-19  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.         
  8.         
  9.         
  10.                            Addendum to QRT Version 1.3
  11.         
  12.         
  13.         
  14.         The following are changes to QRT made since version 1.2
  15.         
  16.         Additions and Enhancements
  17.         
  18.            'Remove' Command Added
  19.                
  20.                The 'REMOVE' command  was  added  to  allow  sections of a
  21.                planar primitive to be removed.  This makes it much easier
  22.                to create flat  objects  that  are  not  shaped like QRT's
  23.                planar primitives.  For  example,  I  had a QRT input file
  24.                which created the image of a grand  piano.  The top of the
  25.                piano, because of its complex shape, initially was created
  26.                from 11 planar primitives.  Now, it is only 
  27.                1   PARALLELOGRAM   primitive,   and   a  section  of  the
  28.                parallelogram is removed to  create  the  shape of a piano
  29.                top.
  30.                
  31.                Before the REMOVE command  can  be used, a pattern must be
  32.                created using any of QRT's  pattern  primitives (the piano
  33.                uses a polygon). 
  34.                This pattern need not be given any surface characteristics
  35.                - it simply defines  the  region  to  be  removed from the
  36.                planar  primitive.   The   pattern   is  attached  to  the
  37.                primitive in exactly  the  same  way  as a normal pattern,
  38.                except that the  REMOVE  command  is  used  instead of the
  39.                PATTERN command:
  40.                
  41.                    PARALLELOGRAM ( loc = (0, 0, 0)
  42.                                    v1  = (10, 0, 0)
  43.                                    v2  = (0, 0, 10)
  44.                
  45.                                    diff    = (1, 0, 0)
  46.                                    remove  = SECTION_TO_REMOVE
  47.                                    pattern = ANY_PATTERN
  48.                                  )
  49.                
  50.                This example shows that the PATTERN command can be used on
  51.                the  same primitive as the REMOVE command.
  52.                
  53.                Several things should be  noted  about the REMOVE command.
  54.                First, the pattern defines the sections to remove, not the
  55.                sections which will  remain.    In  the piano example, the
  56.                pattern mapped all of the  parallelogram  except  the part
  57.                that composed the actual  piano  top.  Second, even though
  58.  
  59.  
  60.         QRT Ray Tracer               Page 1               Addendum to 1.3
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                the remove command can  be  used  with  the curved surface
  74.                primitives (SPHERE,  QUADRATIC),  the  results will not be
  75.                quite right.  To use the  sphere  as an example, the front
  76.                surface of  the  sphere  would  have  the  correct pattern
  77.                removed from it, but the back surface of the sphere would 
  78.                be completely gone.  This is because  the SPHERE intersect
  79.                routine ignores completely the back surface of the sphere.
  80.                I will probably fix this in a future version.
  81.                
  82.            Nested Comments
  83.                
  84.                Comments may  now  be  nested.   This  makes  it easier to
  85.                comment out blocks of QRT  code  which  themselves contain
  86.                comments.
  87.                
  88.                
  89.         Planned Extensions for 1.4
  90.         
  91.            I had planned to create an "#INCLUDE" command for version 1.3,
  92.            but instead I worked on  the  REMOVE  command  (it seemed more
  93.            important).  #INCLUDE will probably be coming next time.
  94.               
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.         QRT Ray Tracer               Page 2               Addendum to 1.3
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.